using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;

namespace Concurrente.Lab8
{
    class Program
    {
        static int D = 20;// 23 palitos

        static void Main(string[] args)
        {
            Console.WriteLine("D = " + D); //Mostrar los 23 palitos

            Thread pA = new Thread(ProcesoA);
            Thread pB = new Thread(ProcesoB);
            pA.Start();
            pB.Start();

            Console.Read();

        }

        public static void ProcesoA() {
            Random r = new Random();
            Thread.Sleep(r.Next(1, 1000));

            int peticion = 10;

            if (D >= peticion)
                D = D - peticion;// Alt 1: Instruccion
            else
                Console.WriteLine("No hay suficientes palitos");

            Console.WriteLine("Proceso A: D = " + D); //Alt 2
        }

        public static void ProcesoB()
        {
            Random r = new Random();
            Thread.Sleep(r.Next(1, 1000));

            int peticion = 10;

            if(D >= peticion)
                D = D - peticion;
            else
                Console.WriteLine("No hay suficientes palitos");

            Console.WriteLine("Proceso B: D = " + D);
        }
    }
}
